// 模态框实例
let editModal;

// 页面加载完成后初始化
$(document).ready(function() {
    // 初始化 Bootstrap 模态框
    editModal = new bootstrap.Modal($('#editModal')[0], {
        keyboard: false  // 禁用键盘 ESC 关闭
    });
    // 加载商品列表
    loadGoods();
});

/**
 * 加载商品列表数据
 */
function loadGoods() {
    $.ajax({
        url: 'queryGoods',
        type: 'GET',
        dataType: 'json',
        success: function(data) {
            const $tbody = $('#goodsTableBody');
            $tbody.empty();  // 清空现有表格内容
            
            // 处理空数据情况
            if (!data || data.length === 0) {
                $tbody.html(`
                    <tr>
                        <td colspan="6" class="text-center">商品信息为空</td>
                    </tr>
                `);
                return;
            }
            
            // 遍历数据并构建表格行
            data.forEach(goods => {
                $tbody.append(`
                    <tr>
                        <td>${goods.gid}</td>
                        <td>${goods.gname}</td>
                        <td>${goods.gnum}</td>
                        <td>￥${goods.gprice.toFixed(2)}</td>
                        <td>${goods.gstatus ? '上架' : '下架'}</td>
                        <td>
                            <a class="operation-link text-primary" onclick="deleteGoods(${goods.gid})">删除</a> |
                            <a class="operation-link text-primary" onclick="showEdit('${goods.gid}', '${goods.gname}', ${goods.gnum}, ${goods.gprice}, ${goods.gstatus})">修改</a>
                        </td>
                    </tr>
                `);
            });
        },
        error: function(error) {
            console.error('加载数据失败:', error);
            // 显示错误信息
            $('#goodsTableBody').html(`
                <tr>
                    <td colspan="6" class="text-center text-danger">加载数据失败，请检查网络连接和服务器状态</td>
                </tr>
            `);
        }
    });
}

/**
 * 显示编辑模态框
 */
function showEdit(gid, gname, gnum, gprice, gstatus) {
    // 填充表单数据
    $('#editGid').val(gid);
    $('#editGname').val(gname);
    $('#editGnum').val(gnum);
    $('#editGprice').val(gprice);
    $('#editGstatus').val(gstatus);
    editModal.show();
}

/**
 * 保存编辑的商品信息
 */
function saveEdit() {
    // 收集表单数据
    const goods = {
        gid: $('#editGid').val(),
        gname: $('#editGname').val(),
        gnum: $('#editGnum').val(),
        gprice: $('#editGprice').val(),
        gstatus: $('#editGstatus').val()
    };

    // 表单验证
    if (!goods.gname || !goods.gnum || !goods.gprice) {
        alert('请填写完整信息');
        return;
    }

    // 提交更新请求
    $.ajax({
        url: 'updateGoods',
        type: 'POST',
        data: goods,
        success: function(success) {
            if (success) {
                editModal.hide();
                loadGoods();  // 重新加载商品列表
            } else {
                alert('保存失败');
            }
        },
        error: function(error) {
            console.error('保存失败:', error);
            alert('保存失败，请重试');
        }
    });
}

/**
 * 删除商品
 */
function deleteGoods(gid) {
    if (confirm('确定要删除这个商品吗？')) {
        $.ajax({
            url: 'deleteGoods',
            type: 'POST',
            data: { gid: gid },
            success: function(success) {
                if (success) {
                    loadGoods();  // 重新加载商品列表
                } else {
                    alert('删除失败');
                }
            },
            error: function(error) {
                console.error('删除失败:', error);
                alert('删除失败，请重试');
            }
        });
    }
}